//表单验证
const PHONE_REG = /^1[0-9]{10}$/;//校验电话号码
export const PERID_REG = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$|^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}([0-9]|X)$/;//身份证号
const NUM_REG = /^[0-9]*$/;//纯数字
const NUM4_REG = /^\d{4}$/;//4位的数字：
const NUM0_50_REG = /^(?:[0-2][0-9]?|30)$/;//0-50数字
const FLOAT_REG = /^[0-9]+(.[0-9]{1,2})?$/;//非负浮点数
const QQEMAIL_ERG = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/;//qq邮箱
const BANKNUM_ERG = /^([1-9]{1})(\d{15}|\d{16}|\d{18})$/;//银行卡号
const Float2_reg = /^[0-9]+(.[0-9]{2})?$/;//整数或保留两位小数
const Float4_reg = /^[0-9]+(.[0-9]{1,4})?$/;//整数或保留4位小数

// 不为空
export const isNull = (rules, value, callBack) => {
  if (!value || value.length == 0) {
    callBack(new Error("不能为空"));
  } else {
    callBack();
  }
};
// 纯数字
export const checkNum = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!NUM_REG.test(value)) {
    callBack(new Error("请输入非负数字"));
  } else {
    callBack();
  }
};
// 纯数字可为空
export const checkNum2 = (rules, value, callBack) => {
  if (!value) {
    callBack();
  } else if (!NUM_REG.test(value)) {
    callBack(new Error("请输入非负数字"));
  } else {
    callBack();
  }
};
// 身份证15/18位
export const checkPerId = (rules, value, callBack) => {
  if (!value) {
    callBack();
  }
  else if (!value.replace(/(^\s*)|(\s*$)/g, "")) {
    callBack();
  } else if (!PERID_REG.test(value)) {
    callBack(new Error("身份证号不正确，X仅支持大写"));
  } else {
    callBack();
  }
};
// 电话1,不能为空
export const checkPhone1 = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!PHONE_REG.test(value)) {
    callBack(new Error("请输入正确的手机号"));
  } else {
    callBack();
  }
};
// 电话2,可为空
export const checkPhone2 = (rules, value, callBack) => {
  if (!value) {
    callBack();
  } else if (!PHONE_REG.test(value)) {
    callBack(new Error("请输入正确的手机号"));
  } else {
    callBack();
  }
};
// 小数,不能为空
export const checkFloat = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!FLOAT_REG.test(value)) {
    callBack(new Error("整数或两位小数"));
  } else {
    callBack();
  }
};
//整数，两位小数
export const checkFloat3 = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!Float2_reg.test(value)) {
    callBack(new Error("整数或保留两位小数"));
  } else {
    callBack();
  }
};
//整数，4位小数
export const checkFloat4 = (rules, value, callBack) => {
  if (!value) {
    callBack();
  } else if (!Float4_reg.test(value)) {
    callBack(new Error("整数或保留4位小数"));
  } else {
    callBack();
  }
};
// 小数，可为空
export const checkFloat2 = (rules, value, callBack) => {
  if (!value) {
    callBack();
  } else if (!FLOAT_REG.test(value)) {
    callBack(new Error("请输入正确费率"));
  } else {
    callBack();
  }
};
// 银行卡号
export const checkBankNum = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!BANKNUM_ERG.test(value)) {
    callBack(new Error("请输入正确银行卡号"));
  } else {
    callBack();
  }
};
//时间
export const checkYearTime = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!NUM4_REG.test(value)) {
    callBack(new Error("请输入4位数字的年份"));
  } else {
    callBack();
  }
};
export const checkEmail = (rules, value, callBack) => {
  if (!value) {
    callBack(new Error("不能为空"));
  } else if (!QQEMAIL_ERG.test(value)) {
    callBack(new Error("请输入正确的邮箱"));
  } else {
    callBack();
  }
};
